#include <iostream>

using namespace std;

//struct  A
//{
//  private:
//    int _a;
//    char _i;
//};
//
//
//struct  B
//{
//  private:
//    int _i;
//    char _a;
//};
//
//int main()
//{
//  cout<<sizeof(A)<<endl;
//  cout<<sizeof(B)<<endl;
//  return 0;
//}
//
//

//class Date
//{
//  public:
//    void Init(int year,int month,int day)
//    {
//      _year=year;
//      _month=month;
//      _day=day;
//    }
//
//  void Print()
//  {
//    cout<<_year<<"-"<<_month<<"-"<<_day<<endl;
//  }
//
//  private://声明
//  int _year;
//  int _month;
//  int _day;
//};
//
//
//int main()
//{
//  Date d1;//定义
//  d1.Init(2024,1,23);
//  d1.Print();
//
//  Date d2;
//  d2.Init(2024,1,23);
//  d2.Print();
//
//  
//  return 0;
//}
//




//
//class A
//{
//  public:
//    A()
//    {
//      cout<<"A()"<<endl;
//      _a=0;
//    }
//
//  private:
//    int _a;
//
//};
//
//
//



class Date
{
  public:
//    Date()
//    {
//      _year=1;
//      _month=1;
//      _day=1;
//    }
//
  //  Date(int year=1,int month=1,int day=1)//函数名相同参数不同，函数重载
   // {
   //   _year=year;
   //   _month=month;
   //   _day=day;
   // }
  Date(int year,int month,int day)
  {

      _year=year;
      _month=month;
      _day=day;
  }
  void Print()
  {
    cout<<_year<<"-"<<_month<<"-"<<_day<<endl;

  }

  ~Date()
  {
    cout<<"~Date()"<<endl;
  }


  private://声明给缺省值
  int _year=1;
  int _month=1;
  int _day;


 //  A _aa;
};


int main()
{
  int i=0;

  Date d1;
  d1.Print();//构造函数

//  Date d2(2024,2,4);
//  d2.Print();
//
//
//  Date d3(2024);
//  d3.Print();
  return 0;
}
